Tengo una función Javascript:
function drawSheaf(word_sheaf) { pageOffset = (parseInt(word_sheaf.page_number, 10) - 1) * PAGE_OFFSET_MULTIPLIER; console.log(CTX); CTX.beginPath(); CTX.fillStyle='black'; CTX.fillText(word_sheaf.word, word_sheaf.x_small/SCALING_FACTOR, word_sheaf.y_big/SCALING_FACTOR + pageOffset); }Lo que resulta en la siguiente salida de la consola:
Page loaded main.js:25:13 CanvasRenderingContext2D { canvas: canvas#canvas, mozCurrentTransform: (6) […], mozCurrentTransformInverse: (6) […], mozTextStyle: "12px Arial", mozImageSmoothingEnabled: true, globalAlpha: 1, globalCompositeOperation: "source-over", strokeStyle: "#000000", fillStyle: "#000000", filter: "none" } editor.js:93:13 Uncaught DOMException: An exception was thrown editor.js:94 Uncaught DOMException: An exception was thrown editor.js:13 Use of mozImageSmoothingEnabled is deprecated. Please use the unprefixed imageSmoothingEnabled property instead. localhost:8004La línea 94 es CTX.beginPath()
La línea 13 está en otra función. En ese caso, CTX.rect es la llamada infractora.
¿Cómo se depura un error como este? La única pista aquí es la advertencia de desaprobación. Pero eso es (a) una advertencia, no un error y (b) no es parte de DOMException. Expandir DOMException solo muestra la ruta del código para llegar allí. No veo un nombre o código de excepción.
La función funciona bien en Chrome y dibuja la palabra como se esperaba.